home *** CD-ROM | disk | FTP | other *** search
- ;------------------------------------------------------------------------------
- ; .ss.
- ; `²²'
- ; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
- ; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
- ; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
- ; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
- ; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
- ; .sS²°$$$²²°"' d²°'
- ; .$$² .$$'
- ; $$$.,d$$'
- ; `²S$$S²'
- ;------------------------------------------------------------------------------
- ; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
- ;------------------------------------------------------------------------------
- ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
- ;------------------------------------------------------------------------------
-
- Boolean BOOLEAN001
- Boolean BOOLEAN002
- Boolean BOOLEAN003
- Integer INTEGER001
- Integer INTEGER002
- Integer INTEGER003
- Integer INTEGER004
- Integer INTEGER005
- Integer INTEGER006
- Integer INTEGER007
- Integer TINTEGER008(1)
- String TSTRING001(10,5)
- String STRING002
- String STRING003
- String STRING004
- String STRING005
- String STRING006
- String STRING007
- String STRING008
-
- ;------------------------------------------------------------------------------
-
- STRING005 = "@X08Application Center v1.0 by ViGilante [PWA] /A=Up, /Z=Down, CR/Enter=Select"
- For INTEGER005 = 1 To Len(STRING005) Step 2
- INTEGER007 = INTEGER007 + Asc(Mid(STRING005, INTEGER005, 1))
- Next
- If (INTEGER007 <> 3187) End
- StartDisp 1
- Gosub LABEL011
- FOpen 1, PPEPath() + "appcentr.cnf", 0, 0
- FGet 1, INTEGER001
- FGet 1, STRING007
- FGet 1, INTEGER006
- For INTEGER005 = 1 To INTEGER006
- FGet 1, TSTRING001(INTEGER005, 0)
- Tokenize TSTRING001(INTEGER005, 0)
- TSTRING001(INTEGER005, 1) = GetToken()
- TSTRING001(INTEGER005, 2) = GetToken()
- TSTRING001(INTEGER005, 3) = GetToken()
- TSTRING001(INTEGER005, 5) = GetToken()
- FGet 1, TSTRING001(INTEGER005, 0)
- FGet 1, TSTRING001(INTEGER005, 4)
- If (Lower(TSTRING001(INTEGER005, 4)) == "sysop") TSTRING001(INTEGER005, 4) = Upper(ReadLine(PCBDat(), 2))
- Next
- FClose 1
- INTEGER005 = INTEGER006
- Gosub LABEL004
- :LABEL001
- If (BOOLEAN001) Goto LABEL003
- STRING002 = Lower(Left(Inkey(), 1))
- If (InStr("drz", STRING002) > 0) Then
- Gosub LABEL005
- Inc INTEGER005
- If (INTEGER005 > INTEGER006) INTEGER005 = 1
- Gosub LABEL004
- ElseIf (InStr("ula", STRING002) > 0) Then
- Gosub LABEL005
- Dec INTEGER005
- If (INTEGER005 < 1) INTEGER005 = INTEGER006
- Gosub LABEL004
- ElseIf (STRING002 == Chr(13)) Then
- If (INTEGER005 == INTEGER006) Then
- BOOLEAN001 = 1
- Gosub LABEL005
- Goto LABEL002
- Endif
- Gosub LABEL006
- Gosub LABEL011
- Gosub LABEL004
- Endif
- :LABEL002
- Goto LABEL001
- :LABEL003
- StartDisp 2
- End
- :LABEL004
- AnsiPos TSTRING001(INTEGER005, 1), TSTRING001(INTEGER005, 2)
- STRING003 = ScrText(TSTRING001(INTEGER005, 1), TSTRING001(INTEGER005, 2), TSTRING001(INTEGER005, 3), 1)
- Print TSTRING001(INTEGER005, 0)
- AnsiPos TSTRING001(INTEGER005, 1), TSTRING001(INTEGER005, 2)
- Return
- :LABEL005
- AnsiPos TSTRING001(INTEGER005, 1), TSTRING001(INTEGER005, 2)
- Print STRING003
- AnsiPos TSTRING001(INTEGER005, 1), TSTRING001(INTEGER005, 2)
- Return
- :LABEL006
- If (Exist(PPEPath() + "app." + String(INTEGER005))) Then
- BOOLEAN003 = 1
- Color 7
- Cls
- If (Exist(PPEPath() + "intro." + String(INTEGER005))) Then
- DispFile PPEPath() + "intro." + String(INTEGER005), 0
- Wait
- Endif
- STRING008 = ReadLine(PPEPath() + "app." + String(INTEGER005), 1)
- If (Exist(Right(STRING008, Len(STRING008) - 1))) Then
- Call Right(STRING008, Len(STRING008) - 1)
- Wait
- Goto LABEL010
- Endif
- FCreate 1, PPEPath() + "temp." + String(PcbNode()), 1, 0
- If (Lower(Left(STRING007, 1)) == "y") FPut 1, "@WAIT@"
- FPut 1, "@POFF@"
- FClose 1
- OpenCap PPEPath() + "temp." + String(PcbNode()), BOOLEAN002
- FOpen 1, PPEPath() + "app." + String(INTEGER005), 0, 0
- :LABEL007
- If (Ferr(1)) Goto LABEL009
- FGet 1, STRING004
- While (InStr(STRING004, "*") <> 0) Do
- INTEGER004 = InStr(STRING004, "*")
- Print Left(STRING004, INTEGER004 - 1)
- STRING004 = Right(STRING004, Len(STRING004) - INTEGER004)
- INTEGER002 = GetX()
- INTEGER003 = GetY()
- INTEGER007 = 1
- STRING002 = ""
- While (STRING002 <> Chr(13)) Do
- STRING002 = Inkey()
- If ((STRING002 == Chr(8)) && (INTEGER007 > 1)) Then
- Print Chr(8) + " " + Chr(8)
- Dec INTEGER007
- Continue
- Endif
- If (Asc(STRING002) > 31) Then
- If (((Len(STRING002) > 1) || (ScrText(INTEGER002 + INTEGER007, INTEGER003, 1, 0) <> " ")) || (INTEGER002 + INTEGER007 > 80)) Then
- Beep
- Goto LABEL008
- Endif
- Print STRING002
- Inc INTEGER007
- :LABEL008
- Continue
- Endif
- If ((STRING002 <> "") && (Asc(STRING002) <> 13)) Beep
- EndWhile
- If (BOOLEAN003) Then
- BOOLEAN003 = 0
- STRING006 = Upper(ScrText(INTEGER002, INTEGER003, GetX() - INTEGER002, 0))
- Endif
- EndWhile
- PrintLn STRING004
- Goto LABEL007
- :LABEL009
- FClose 1
- Print Chr(27) + "[" + String(INTEGER001 - 2) + ";1H"
- CloseCap
- Message TSTRING001(INTEGER005, 5), Upper(TSTRING001(INTEGER005, 4)), Upper(STRING006), StripAtx(TSTRING001(INTEGER005, 0)), "R", 0, 0, 0, PPEPath() + "temp." + String(PcbNode())
- Delete PPEPath() + "temp." + String(PcbNode())
- AnsiPos 1, 23
- Wait
- Endif
- :LABEL010
- Return
- :LABEL011
- DispFile PPEPath() + "appcentr.pcb", 0
- AnsiPos 40 - Len(StripAtx(STRING005)) / 2, 1
- Print STRING005
- Return
- If (0) Then
- Brag
- FFlush 1
- FReAltUser
- MouseReg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
- Redim TINTEGER008, 2
- Sort TINTEGER008, TINTEGER008
- Print FlagCnt()
- Print HiMsgNum()
- Print KbdBufSize()
- Print KbdFilUsed()
- Print LoMsgNum()
- Print PPLBufSize()
- Endif
-
- ;------------------------------------------------------------------------------
- ;
- ; Usage report (before postprocessing)
- ;
- ; ■ Statements used :
- ;
- ; 2 End
- ; 1 Cls
- ; 3 Wait
- ; 1 Color
- ; 31 Goto
- ; 28 Let
- ; 13 Print
- ; 1 PrintLn
- ; 24 If
- ; 2 DispFile
- ; 1 FCreate
- ; 2 FOpen
- ; 3 FClose
- ; 7 FGet
- ; 2 FPut
- ; 2 StartDisp
- ; 1 Delete
- ; 10 Gosub
- ; 4 Return
- ; 2 Inc
- ; 2 Dec
- ; 1 Tokenize
- ; 2 Beep
- ; 1 Call
- ; 6 AnsiPos
- ; 1 OpenCap
- ; 1 CloseCap
- ; 1 Message
- ; 1 FFlush
- ; 1 Redim
- ; 1 Sort
- ; 1 MouseReg
- ; 1 Brag
- ; 1 FReAltUser
- ;
- ;
- ; ■ Functions used :
- ;
- ; 1 /
- ; 30 +
- ; 7 -
- ; 5 ==
- ; 6 <>
- ; 3 <
- ; 2 <=
- ; 7 >
- ; 4 >=
- ; 18 !
- ; 6 &&
- ; 4 ||
- ; 7 Len(
- ; 3 Lower()
- ; 4 Upper()
- ; 1 Mid()
- ; 3 Left()
- ; 3 Right()
- ; 1 Ferr()
- ; 6 Chr()
- ; 3 Asc()
- ; 4 InStr()
- ; 2 StripAtx()
- ; 2 Inkey()
- ; 10 String()
- ; 1 PCBDat()
- ; 11 PPEPath()
- ; 4 PcbNode()
- ; 2 ReadLine()
- ; 4 GetToken()
- ; 3 Exist()
- ; 2 GetX()
- ; 1 GetY()
- ; 3 ScrText()
- ; 1 FlagCnt()
- ; 1 KbdBufSize()
- ; 1 PPLBufSize()
- ; 1 KbdFilUsed()
- ; 1 LoMsgNum()
- ; 1 HiMsgNum()
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Analysis flags : Cd
- ;
- ; C - Call child PPE ■ 3
- ; This is usually normal, but may be a tricky way to launch some
- ; sysop-only commands.
- ; ■ Search for : CALL
- ;
- ; d - Access PCBOARD.DAT ■ 2
- ; Program gets the full pathname to PCBOARD.DAT, this may be usefull
- ; for many PPE so they can find various informations on the system
- ; (system paths, max number of lines in messages, ...) but it may also
- ; be a way to gather vital informations.
- ; ■ Search for : PCBDAT()
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Postprocessing report
- ;
- ; 2 For/Next
- ; 2 While/EndWhile
- ; 12 If/Then or If/Then/Else
- ; 0 Select Case
- ;
- ;------------------------------------------------------------------------------
- ; AEGiS Corp - Break the routines, code against the machines!
- ;------------------------------------------------------------------------------
-